#ifndef INTERSECTIONPLANE_H
#define INTERSECTIONPLANE_H

#if defined(WIN32) || defined(linux)
    #include <QtOpenGL/qgl.h>
#elif defined(__APPLE__)
    #include <OpenGl/glu.h>
#endif

#include "cellmath.h"

//!  A Intersection Plane class.
/*!
  It is a class to construct the intersection plane.
*/

class IntersectionPlane
{
public:
    double translateX, translateY, translateZ;
    double rotateX, rotateY, rotateZ;

    //! A constructor.
    IntersectionPlane();

    //! Draw the intersection plane.
    /*!
          \param id the id of the intersection plane.
          \param selected the selected object at this moment.
    */
    void DrawPlane(int id, int selected);

    //! The rotation matrix.
    double rotateMatrix[4][4];

    //! Compute the rotation matrix rotateMatrix[4][4].
    void AxisRotate();

private:
    //! The direction of the x axis after rotation.
    double axisX[4];

    //! The direction of the y axis after rotation.
    double axisY[4];

    //! The direction of the z axis after rotation.
    double axisZ[4];
};

#endif // INTERSECTIONPLANE_H
